package com.zhuss.idea.db.dao.ext;

import java.util.Date;
import java.util.List;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import com.zhuss.bean.vo.idea.idea.DetailIdeaTopicVo;
import com.zhuss.idea.db.dao.gen.IdeaTopicMapper;
import com.zhuss.idea.db.entity.IdeaTopic;

@Mapper
public interface IdeaTopicDao extends IdeaTopicMapper {
	
	void create(IdeaTopic record);
	
	int delete(IdeaTopic record);
	
	int deleteByParent(IdeaTopic record);
	
	void deleteBatch(@Param("ideaTopicIdList") List<Long> ideaTopicIdList, @Param("deleted") Integer deleted, @Param("modifierId") Long modifierId,
			@Param("modifier") String modifier, @Param("modifyTime") Date modifyTime);
	
	void deleteByParentBatch(@Param("ideaTopicIdList") List<Long> ideaTopicIdList, @Param("deleted") Integer deleted, @Param("modifierId") Long modifierId,
			@Param("modifier") String modifier, @Param("modifyTime") Date modifyTime);
	
	List<IdeaTopic> listAll(@Param("area") Integer area, @Param("ideaId") Long ideaId);
	
	DetailIdeaTopicVo detail(@Param("ideaTopicId") Long ideaTopicId);
	
	List<Long> listSon(@Param("ideaTopicIdList") List<Long> ideaTopicIdList);

	List<DetailIdeaTopicVo> listTopic(@Param("ideaId") Long ideaId, @Param("parent") Long parent);
    
}